@echo off
chcp 65001 >nul
echo ============================================================
echo 🚀 风力发电叶片缺陷检测系统 - 智能启动脚本
echo ============================================================
echo.

REM 设置项目路径
set SCRIPT_DIR=%~dp0
set SERVER_DIR=%SCRIPT_DIR%server

echo 📋 启动检查...
echo.

REM 检查 Python
where python >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误：找不到 Python
    echo 💡 请先安装 Python: https://www.python.org/
    pause
    exit /b 1
)

REM 检查 Node.js
where node >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误：找不到 Node.js
    echo 💡 请先安装 Node.js: https://nodejs.org/
    pause
    exit /b 1
)

REM 检查 Python 依赖
python -c "import chromadb" >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  警告：ChromaDB 未安装
    echo 💡 正在安装 Python 依赖...
    pip install chromadb flask flask-cors
)

REM 检查 Node.js 依赖
if not exist "%SCRIPT_DIR%node_modules" (
    echo ⚠️  警告：前端依赖未安装
    echo 💡 正在安装前端依赖...
    cd /d "%SCRIPT_DIR%"
    call npm install
)

if not exist "%SERVER_DIR%\node_modules" (
    echo ⚠️  警告：后端依赖未安装
    echo 💡 正在安装后端依赖...
    cd /d "%SERVER_DIR%"
    call npm install
)

echo ✅ 环境检查通过
echo.

REM 启动 ChromaDB API 服务（后台）
echo 🔵 [1/3] 启动 ChromaDB API 服务...
start "ChromaDB API" cmd /k "cd /d "%SERVER_DIR%" && python chroma_api.py"

REM 等待 ChromaDB API 启动
echo    ⏳ 等待 ChromaDB API 启动...
timeout /t 3 /nobreak >nul
echo ✅ ChromaDB API 已启动 (http://localhost:8001)
echo.

REM 启动 Node.js 后端服务（后台）
echo 🟢 [2/3] 启动 Node.js 后端服务...
start "Node.js Backend" cmd /k "cd /d "%SERVER_DIR%" && node index.js"

REM 等待 Node.js 后端启动
echo    ⏳ 等待 Node.js 后端启动...
timeout /t 3 /nobreak >nul
echo ✅ Node.js 后端已启动 (http://localhost:3000)
echo.

REM 启动前端开发服务器（前台）
echo 🟡 [3/3] 启动前端开发服务器...
echo.
echo ============================================================
echo 🎉 所有服务已启动！
echo ============================================================
echo.
echo 📌 服务地址：
echo    - 前端界面：http://localhost:5173
echo    - Node.js API：http://localhost:3000
echo    - ChromaDB API：http://localhost:8001
echo.
echo 💡 提示：
echo    - 浏览器将自动打开前端界面
echo    - 前端窗口将在此运行（按 Ctrl+C 停止）
echo    - 其他服务在后台运行（关闭对应窗口即可停止）
echo.
echo ============================================================
echo.
timeout /t 2 /nobreak >nul

cd /d "%SCRIPT_DIR%"
npm run dev

pause
